

<html>
<head>
<meta charset="utf-8">	
<!-- head -->
<script type="text/javascript"  src="/static_base/vue2.6.14.js"></script>
<script src="/static_base/element_ui_2.0.3_index.js"></script><link href="/static_base/element_ui.css" rel="stylesheet">
<script type="text/javascript"  src="/static_base/base.js"></script>
<link rel="stylesheet" href="/static_base/iconfont.css">
<script type="text/javascript"  src="/static_base/default.js"></script>
<link rel="stylesheet" href="/static_base/default.css">
<link href="\static_base\vuetify2.6.4.min.css" rel="stylesheet">

<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #2d2d2d;
color: #ffffff;
}
</style>
</head>

<body>
   <div id="rr">
    <a_1_0_0_0_0 :deepcopy_data="{'var_name':'容器上'}">
        <a_1_0_1_0_0 :deepcopy_data="菜单栏"></a_1_0_1_0_0>
        <a_1_0_1_2_0 :deepcopy_data="项目名"></a_1_0_1_2_0>
        <a_1_0_1_3_0 :deepcopy_data="用户与菜单"></a_1_0_1_3_0>
    </a_1_0_0_0_0>
    <a_1_0_0_0_0 :deepcopy_data="{'var_name':'容器中'}">
      <a_1_0_0_0_0 style="width:20%;height:100%; display: block;"> 
         <a_1_0_1_1_0 :deepcopy_data="活动栏"></a_1_0_1_1_0>
         
         <a_1_0_0_1_0 :deepcopy_data="主侧栏">
            <a_1_0_2_0_0 :deepcopy_data="数据库_主侧栏"></a_1_0_2_0_0>
            <a_1_0_2_0_0 :deepcopy_data="前端_主侧栏"></a_1_0_2_0_0>
            <a_1_0_2_0_0 :deepcopy_data="后端_主侧栏"></a_1_0_2_0_0>
            <a_1_0_2_0_0 :deepcopy_data="组件库_主侧栏"></a_1_0_2_0_0>
         </a_1_0_0_1_0>
      
      </a_1_0_0_0_0>
      <a_1_0_0_2_0 :deepcopy_data="编辑栏">
         <a_1_0_3_2_0 :deepcopy_data="前端组件库_编辑栏"></a_1_0_3_2_0>
         <a_1_0_3_3_0 :deepcopy_data="后端组件库_编辑栏"></a_1_0_3_3_0>
      </a_1_0_0_2_0>
   </a_1_0_0_0_0>
   </div>
</body>
<script>
(async () => {  
/* ---------------------前置js-------start--------------*/
//初始化websocket 全局配置对象
    //初始化全局配置对象
    window.全局配置对象 = new up_ws_class2(['getQueryParams']); 
    //打开日志提示 
    全局配置对象.log_flag=true;
    //等待 建立websocket连接完成
    await 全局配置对象.connect();
    //等待连接完成
    while(1){await time_sleep(0.1);console.log("连接中");
if(全局配置对象.update_obj.connect_flag==true){break;}}
    //获取所有配置
    全局配置对象.初始化();
    //等待获取所有配置完成
    while(1){await time_sleep(0.1);console.log("获取配置中");if(全局配置对象.update_obj.get_all_flag==true){break;}}
    //打印测试
    console.log("全局配置对象.update_obj.data",全局配置对象.update_obj.data);
//初始化浏览器界面监听对象
   window['全局界面监听对象1']=new addcallback();
/* ---------------------前置js-------end--------------*/














let 创建数据库测试数据=function(num=3000){
   let create_new=function(id_,name){
   res={};
   res[id_]={
                                 "base_info":{
                                    "vue_name":"a_1_0_2_0_0_lines",
                                    "deepcopy_data":{"name":`${name}`}
                                 },
                                 "dict":{

                                 }
                              }
   return res
}
let base={'base_info':{},dict:{}};
lhp_deepcopy1(base.dict,create_new("1","数据库列表"));
lhp_deepcopy1(base.dict,create_new("2","搜索"));
// console.log("base",base)
let t=[];
for(let i=0;i<num;i++){
   t.push(i+1+'');
   lhp_deepcopy1(base.dict['1'].dict,create_new(i+'',"用户数据库"+i));
   // lhp_deepcopy1(base.dict['1'].dict,create_new(i+1+'',"日志数据库"+(i+1)));
   lhp_deepcopy1(base.dict['1'].dict[i+''].dict,create_new("1","字段编辑"));
   for (let j=0;j<3;j++){
      lhp_deepcopy1(base.dict['1'].dict[i+''].dict['1'].dict,create_new(j+'',"字段"+j));
   }
   // i++;
}
console.log("??")
return base;
}
let 创建前端测试数据=function(num=3000){
   let create_new=function(id_,name){
   res={};
   res[id_]={
                                 "base_info":{
                                    "vue_name":"a_1_0_2_0_0_lines",
                                    "deepcopy_data":{"name":`${name}`}
                                 },
                                 "dict":{}
                              }
   return res
}
let base={'base_info':{},dict:{}};
lhp_deepcopy1(base.dict,create_new("1","页面列表"));
lhp_deepcopy1(base.dict,create_new("2","拖拽组件"));
lhp_deepcopy1(base.dict['2'].dict,create_new(1,"基础组件"));
lhp_deepcopy1(base.dict['2'].dict[1].dict,create_new("1","图标组件"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("1","表格"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("2","柱状图"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("3","条形图"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("4","饼图"));
lhp_deepcopy1(base.dict['2'].dict[1].dict,create_new("2","控件组件"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[2].dict,create_new("1","文本框"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[2].dict,create_new("2","输入框"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[2].dict,create_new("3","按钮"));
lhp_deepcopy1(base.dict,create_new("3","图片"));
lhp_deepcopy1(base.dict,create_new("4","搜索"));
lhp_deepcopy1(base.dict['4'].dict,create_new(1,"搜索页面库"));
return base
}
let 创建后端测试数据=function(num=3000){
   let create_new=function(id_,name){
   res={};
   res[id_]={
                                 "base_info":{
                                    "vue_name":"a_1_0_2_0_0_lines",
                                    "deepcopy_data":{"name":`${name}`}
                                 },
                                 "dict":{}
                              }
   return res
}
let base={'base_info':{},dict:{}};
lhp_deepcopy1(base.dict,create_new("1","流程图列表"));
lhp_deepcopy1(base.dict,create_new("2","拖拽组件"));
lhp_deepcopy1(base.dict['2'].dict,create_new(1,"基础组件"));
lhp_deepcopy1(base.dict['2'].dict[1].dict,create_new("1","http通信"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("1","http服务"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("2","http收"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("3","http回"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("4","http发"));
lhp_deepcopy1(base.dict,create_new("3","搜索"));
return base;
}
let 创建组件库测试数据=function(num=3000){
   let create_new=function(id_,name){
   res={};
   res[id_]={
                                 "base_info":{
                                    "vue_name":"a_1_0_2_0_0_lines",
                                    "deepcopy_data":{"name":`${name}`}
                                 },
                                 "dict":{}
                              }
   return res
}
let base={'base_info':{},dict:{}};
lhp_deepcopy1(base.dict,create_new("1","我的组件"));
lhp_deepcopy1(base.dict['1'].dict,create_new(1,"我的前端组件"));
lhp_deepcopy1(base.dict['1'].dict[1].dict,create_new("1","基础组件"));
lhp_deepcopy1(base.dict['1'].dict[1].dict[1].dict,create_new("1","小控件"));
lhp_deepcopy1(base.dict['1'].dict[1].dict[1].dict[1].dict,create_new("1","文本框"));
lhp_deepcopy1(base.dict['1'].dict[1].dict[1].dict[1].dict[1].dict,create_new("1","a0(测试版)"));
lhp_deepcopy1(base.dict['1'].dict[1].dict[1].dict[1].dict[1].dict,create_new("2","a1(测试版)"));
lhp_deepcopy1(base.dict['1'].dict[1].dict[1].dict[1].dict[1].dict,create_new("3","a2(测试版)"));
lhp_deepcopy1(base.dict['1'].dict[1].dict[1].dict[1].dict[1].dict,create_new("4","a3(测试版)"));
lhp_deepcopy1(base.dict['1'].dict[1].dict[1].dict[1].dict[1].dict,create_new("5","a4(测试版)"));
lhp_deepcopy1(base.dict['1'].dict,create_new(2,"我的后端组件"));
lhp_deepcopy1(base.dict,create_new("2","项目加载组件"));
lhp_deepcopy1(base.dict['2'].dict,
{1:{
                                 "base_info":{
                                    "vue_name":"a_1_0_2_1_0",
                                    "deepcopy_data":{"name":`加载的前端组件`}
                                 },
                                 "dict":{}
}});
lhp_deepcopy1(base.dict['2'].dict,create_new(2,"加载的后端组件"));
lhp_deepcopy1(base.dict['2'].dict[2].dict,create_new("1","基础组件"));
lhp_deepcopy1(base.dict['2'].dict[2].dict[1].dict,create_new("1","http通信"));
lhp_deepcopy1(base.dict['2'].dict[2].dict[1].dict[1].dict,create_new("1","http服务"));
lhp_deepcopy1(base.dict['2'].dict[2].dict[1].dict[1].dict,create_new("2","http收"));
lhp_deepcopy1(base.dict['2'].dict[2].dict[1].dict[1].dict,create_new("3","http回"));
lhp_deepcopy1(base.dict['2'].dict[2].dict[1].dict[1].dict,create_new("4","http发"));

lhp_deepcopy1(base.dict['2'].dict[1].dict,create_new("1","基础组件"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict,create_new("1","容器组件"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict[1].dict,create_new("1","横"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict[1].dict,create_new("2","纵"));
lhp_deepcopy1(base.dict['2'].dict[1].dict[1].dict[1].dict,create_new("3","可拖拽容器"));
lhp_deepcopy1(base.dict,create_new("5","搜索"));
lhp_deepcopy1(base.dict['5'].dict,{1:{
                                 "base_info":{
                                    "vue_name":"a_1_0_2_0_0_lines",
                                    "deepcopy_data":{"name":`搜索前端组件`,icon1_show_flag:false,click_obj:{'func':"全局界面监听对象1.set",'args':['前端组件库_编辑栏']}}
                                 },
                                 "dict":{}
                              },
                              2:{
                                 "base_info":{
                                    "vue_name":"a_1_0_2_0_0_lines",
                                    "deepcopy_data":{"name":`搜索后端组件`,icon1_show_flag:false,click_obj:{'func':"全局界面监听对象1.set",'args':['后端组件库_编辑栏']}}
                                 },
                                 "dict":{}
                              },
                           
                           })
return base
}
创建前端组件库测试数据=function(){

   let item={
            show_imgsrc:"/static_base/python.png",
            "show_text1":"用户1-基础组件-控件",
            "show_text2":"文本显示框(a0)",
        }
        let lst=[];
        for (let i=0;i<100;i++){
            lst.push(JSON.parse(JSON.stringify(item)));
        }
   return lst
}
new Vue({el:'#rr',
         data: {
            菜单栏:{"var_name":"菜单栏"},
            活动栏:{"var_name":"活动栏"},
            项目名:{"var_name":"项目名"},
            用户与菜单:{"var_name":"用户与菜单"},
            快速选择栏:{"var_name":"快速选择栏"},
            主侧栏:{"var_name":"主侧栏"},
            数据库_主侧栏:{"var_name":"数据库_主侧栏",show_flag:false,data:创建数据库测试数据(83)},
            前端_主侧栏:{"var_name":"前端_主侧栏",show_flag:false,data:创建前端测试数据(83)},
            后端_主侧栏:{"var_name":"后端_主侧栏",show_flag:false,data:创建后端测试数据(83)},
            组件库_主侧栏:{"var_name":"组件库_主侧栏",show_flag:false,data:创建组件库测试数据(83)},
            编辑栏:{"var_name":"编辑栏",test:true},
            前端组件库_编辑栏:{"var_name":"前端组件库_编辑栏",
            show_flag:false,
            'url':"/select_temp1"},
            后端组件库_编辑栏:{"var_name":"后端组件库_编辑栏",
            show_flag:false,
            'url':"/select_temp2"}
         },
         mounted:function(){
      this.渲染完成开始js=function(){
        //创建一个浏览器尺寸监听对象
        window.page_size_listen_class_listen_dct={};//{id:{"callback":func}}
        function page_size_listen_class() {}  
        page_size_listen_class.prototype.listen_func = function(){
            const width = window.innerWidth;  
            const height = window.innerHeight;  
            for (let id_ in page_size_listen_class_listen_dct){
                console.log(id_,page_size_listen_class_listen_dct)
                try{page_size_listen_class_listen_dct[id_].callback({"width":width,"height":height})}
                catch{}
            }
        };  
        page_size_listen_class.prototype.set_listen = function(obj){
            let id_=obj.id;
            let callback=obj.callback;
            window.page_size_listen_class_listen_dct[id_]={callback:callback}
            const width = window.innerWidth;  
            const height = window.innerHeight;  
            try{callback({"width":width,"height":height})}catch{}
        };  
        window.page_size_listen_obj = new page_size_listen_class();  
  
// 添加resize事件监听器  
window.addEventListener('resize', page_size_listen_obj.listen_func);  
        window.addEventListener('resize', this.handleResize); 
      }
      this.菜单栏设置=function(){
        window['菜单栏'].set_menu({
            menu_id:0,
            menu_name:'项目'                                      
         })
         window['菜单栏'].set_item({
            menu_id:0,
            item_id:0,
            item_name:"保存项目"
         })
         window['菜单栏'].set_menu({
            menu_id:1,
            menu_name:'帮助'                                      
         })
         window['菜单栏'].set_item({
            menu_id:1,
            item_id:0,
            item_name:"关于33"
         })
         window['菜单栏'].set_item({
            menu_id:1,
            item_id:0,
            item_name:"关于版本"
         })
         window['菜单栏'].set_item({
            menu_id:1,
            item_id:1,
            item_name:"使用说明"
         })
         window['菜单栏'].set_item({
            menu_id:1,
            item_id:2,
            item_name:"联系作者"
         })
      }
      this.活动栏设置=function(){
        window['活动栏'].set_menu({
        menu_id:0,
        menu_name:'数据库',
        menu_class:'icon iconfont icon-shujuku',
        var_name:'数据库_主侧栏',       
         })
         window['活动栏'].set_menu({
        menu_id:1,
        menu_name:'前端',
        menu_class:'icon iconfont icon-qianduan',    
        var_name:'前端_主侧栏',                          
         })
         window['活动栏'].set_menu({
        menu_id:2,
        menu_name:'后端',
        menu_class:'icon iconfont icon-houduan',     
        var_name:'后端_主侧栏',                         
         })
         window['活动栏'].set_menu({
        menu_id:3,
        menu_name:'组件库',
        menu_class:'icon iconfont icon-zujianku', 
        var_name:'组件库_主侧栏',                             
         })
      }; 
      this.项目名设置=function(){
        window['项目名'].set_project({
            user_id:"0",
            dir1_id:"0",
            temp_id:"0",
            project_name:"测试项目"
        })
      }
      this.主侧栏设置=function(){
        page_size_listen_obj.set_listen({'id':4,callback:window['主侧栏'].change_size});
      }
      this.容器中=function(){
         
        page_size_listen_obj.set_listen({'id':5,callback:window['容器中'].change_size});
      }
      this.数据库_主侧栏=function(){
         
         // window['数据库_主侧栏'].open("");//初始化
         // 数据库_主侧栏
      }
      this.前端组件库设置=function(){
         全局界面监听对象1.add({
            key:'前端组件库_编辑栏',
            __this__:window['前端组件库_编辑栏'],
            set_name:"show_flag"
         })
      }
      this.后端组件库设置=function(){
         编辑区显示控制.add({
            key:'后端组件库_编辑栏',
            __this__:window['后端组件库_编辑栏'],
            set_name:"show_flag"
         })
         
      }
      // 等待 Vue 完成 DOM 更新  
      this.$nextTick(() => {  
        this.渲染完成开始js();
        //菜单栏设置 
        this.菜单栏设置();
        //活动栏设置
        this.活动栏设置();
        this.项目名设置();
        this.主侧栏设置();
        this.数据库_主侧栏();
         this.容器中();
         this.前端组件库设置();
         this.后端组件库设置();
        活动栏.选择(0);
      }); 
        
    } })




    
  })();
</script>
